home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / CCITT / 1992 / X / x518_1.asc < prev    next >
Encoding:
Text File  |  1993-07-15  |  43.4 KB  |  782 lines

  1.          The drawings contained in this Recommendation have been done in AUTOCAD
  2.          Recommendation X.518
  3.                       THE DIRECTORY - PROCEDURES FOR DISTRIBUTED OPERATION 1)
  4.                                          (Melbourne, 1988)
  5.                                               CONTENTS
  6.          SECTION 1 - Introduction
  7.          0      Introduction
  8.          1      Scope and field of application
  9.          2      References
  10.          3      Definitions
  11.          4      Abbreviations
  12.          5      Notation
  13.          SECTION 2 - Overview
  14.          6      Overview
  15.          SECTION 3 - Distributed directory models
  16.          7      Distributed directory system model
  17.          8      DSA interactions model
  18.                8.1 Chaining
  19.                8.2 Multicasting
  20.                8.3 Referral
  21.                8.4 Mode determination
  22.          9      Directory distribution
  23.          10     Knowledge
  24.                10.1   Minimal knowledge references
  25.                10.2   Root context
  26.                10.3   Knowledge references
  27.                10.4   Knowledge administration
  28.          SECTION 4 - DSA abstract service
  29.          11     Overview of DSA abstract service
  30.          12     Information types
  31.                12.1   Introduction
  32.                12.2   Information types defined elsewhere
  33.                12.3   Chaining arguments
  34.                12.4   Chaining results
  35.                12.5   Operation progress
  36.                12.6   Trace information
  37.                12.7   Reference type
  38.                12.8   Access point
  39.                12.9   Continuation reference
  40.          13     Abstract-bind and abstract-unbind
  41.                13.1   DSA bind
  42.                13.2   Directory unbind
  43.          14     Chained abstract-operations
  44.          15     Chained abstract-errors
  45.                15.1   Introduction
  46.                15.2   DSA referral
  47.          SECTION 5 - Distributed operations procedures
  48.          16     Introduction
  49.                16.1   Scope and limits
  50.                16.2   Conceptual model
  51.                16.3   Individual and cooperative operation of DSAs
  52.          17     Distributed directory behaviour
  53.                17.1   Cooperative fulfillment of operations
  54.                17.2   Phases of operation processing
  55.                17.3   Managing distributed operations
  56.                17.4   Other considerations for distributed operation
  57.                17.5   Authentication of distributed operations
  58.          18     DSA behaviour
  59.                18.1   Introduction
  60.                18.2   Overview of the DSA behaviour
  61.                18.3   Specific operations
  62.                18.4   Operation dispatcher
  63.  
  64.          1) Recommendation X.518 and ISO 9594-4, Information Processing   Systems  -  Open  Systems
  65.          Interconnection -  The  Directory  -        Procedures  for  Distributed  Operation,  were
  66.          developed in close collaboration and are technically aligned.
  67.  
  68.  
  69.  
  70.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  71.  
  72.                18.5   Looping
  73.                18.6   Name resolution procedure
  74.                18.7   Object evaluation procedures
  75.                18.8   Result merging procedure
  76.                18.9   Procedures for distributed authentication
  77.          Annex A - ASN.1 for distributed operations
  78.          Annex B - Modelling of knowledge
  79.          Annex C - Distributed use of authentication
  80.          Annex D - Distributed directory object identifiers
  81.          SECTION 1 - Introduction
  82.          0      Introduction
  83.          0.1    This document, together with the others of the series, has  been  produced
  84.          to facilitate the interconnection of information processing  systems  to  provide
  85.          directory services. The set of all such  systems,  together  with  the  directory
  86.          information which they hold, can be viewed as an  integrated  whole,  called  the
  87.          Directory. The information held by  the  Directory,  collectively  known  as  the
  88.          Directory Information Base (DIB), is typically used to  facilitate  communication
  89.          between, with  or  about  objects  such  as  OSI  application  entities,  people,
  90.          terminals, and distribution lists.
  91.          0.2    The Directory plays a significant role in  Open  Systems  Interconnection,
  92.          whose aim is to allow, with a minimum  of  technical  agreement  outside  of  the
  93.          interconnection  standards  themselves,  the   interconnection   of   information
  94.          processing systems:
  95.                -   from different manufacturers;
  96.                -   under different managements;
  97.                -   of different levels of complexity; and
  98.                -   of different ages.
  99.          0.3    This Recommendation specifies the  procedures  by  which  the  distributed
  100.          components of the Directory interwork in order to provide a consistent service to
  101.          its users.
  102.          1      Scope and field of application
  103.          1.1    This Recommendation specifies the behaviour of DSAs  taking  part  in  the
  104.          distributed Directory application. The allowed behaviour has been designed so  as
  105.          to ensure a consistent service given a wide distribution of the DIB  across  many
  106.          DSAs.
  107.          1.2    The Directory is not intended to be a  general  purpose  database  system,
  108.          although it may be built  on  such  systems.  It  is  assumed  that  there  is  a
  109.          considerably higher frequency of queries than of updates.
  110.          2      References
  111.          Recommendation X.200 -  Open Systems Interconnection - Basic Reference Model
  112.          Recommendation X.208 -Open Systems Interconnection -  Specification  of  Abstract
  113.          Syntax Notation (ASN.1)
  114.          Recommendation X.500 -  The Directory - Overview of Concepts, Models and Services
  115.          Recommendation X.501 -  The Directory - Models
  116.          Recommendation X.511 -  The Directory - Abstract Service Definition
  117.          Recommendation X.519 -  The Directory - Protocol Specifications
  118.          Recommendation X.520 -  The Directory - Selected Attribute Types
  119.          Recommendation X.521 -  The Directory - Selected Object Classes
  120.          Recommendation X.407 -  Message Handling Systems -  Abstract  Service  Definition
  121.          Conventions
  122.          3      Definitions
  123.                The definitions contained in this paragraph make use of  the  abbreviations
  124.          defined in  4.
  125.          3.1    OSI Reference Model Definitions
  126.                This Recommendation makes use of the following term defined in X.200:
  127.                a)  application entity title.
  128.          3.2    Basic Directory Definitions
  129.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  130.          Recommendation X.500:
  131.                a)  (the) Directory;
  132.                b)  Directory Information Base.
  133.          3.3    Directory Model Definitions
  134.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  135.          Recommendation X.501:
  136.                a)  access point;
  137.  
  138.  
  139.  
  140.  
  141.          PAGE12  Fascicle VIII.8 - Rec. X.518
  142.  
  143.                b)  alias;
  144.                c)  distinguished name;
  145.                d)  Directory Information Tree;
  146.                e)  Directory System Agent;
  147.                f)  Directory User Agent;
  148.                g)  relative distinguished name.
  149.          3.4    Abstract Service Definition Conventions
  150.                This Recommendation makes use of the following terms defined in X.407:
  151.                a)  abstract error;
  152.                b)  abstract operation;
  153.                c)  result.
  154.          3.5    Distributed Operation Definitions
  155.                This Recommendation makes use of the following terms, as defined here:
  156.                a)  chaining: a mode of interaction optionally used by a DSA which  cannot
  157.                   perform an operation itself. The DSA chains by invoking an operation of
  158.                   another DSA and then relaying the outcome to the original requestor;
  159.                b)  context prefix: the sequence of RDNs leading from the Root of the  DIT
  160.                   to  the  initial  vertex  of  a  naming  context,  corresponds  to  the
  161.                   distinguished name of that vertex;
  162.                c)  cross reference: a knowledge reference containing information about the 
  163.                   DSA that holds an entry. This is used for optimisation. The entry  need
  164.                   have no superior or subordinate relationship;  
  165.                d)  DIB fragment: the portion  of  the  DIB  that  is  held  by  one  DSA,
  166.                   comprising one or more naming contexts;
  167.                e)  distributed name resolution: the process by which name  resolution  is
  168.                   performed in more than one DSA;
  169.                f)  internal reference:  a  knowledge  reference  containing  an  internal
  170.                   pointer to an entry held in the same DSA;
  171.                g)  knowledge information: the information which a particular DSA has about 
  172.                   the entries it holds and how to locate other entries in the directory;
  173.                h)  knowledge reference: knowledge which associates,  either  directly  or
  174.                   indirectly, a DIT entry with the DSA in which it is located;
  175.                i)  knowledge tree: the conceptual model of the knowledge information that
  176.                   a DSA holds to enable it to perform distributed name resolution;
  177.                j)  multicasting: a mode of interaction which may optionally be used by  a
  178.                   DSA which cannot perform an operation itself. The  DSA  multicasts  the
  179.                   operation, i.e. invokes the same operation of several  other  DSAs  (in
  180.                   series or in  parallel)  and  passes  an  appropriate  outcome  to  the
  181.                   original requestor;
  182.                k)  name resolution: the process of  locating  an  entry  by  sequentially
  183.                   matching each RDN in a purported name to a vertex of the DIT;
  184.                l)  naming context: a partial sub-tree of the DIT which starts at a vertex
  185.                   and extends downwards to leaf and/or non-leaf vertices.  Such  vertices
  186.                   constitute  the  border  of  the  naming  context.  Non-leaf   vertices
  187.                   belonging to the border denote the start of further naming contexts;
  188.                m)  non-specific subordinate reference: a knowledge reference  that  holds
  189.                   information  about  the  DSA  that  holds  one  or   more   unspecified
  190.                   subordinate entries;
  191.                n)  operation progress: a set of values which denotes the extent to  which
  192.                   name resolution has taken place;
  193.                o)  reference path: a continuous sequence of knowledge references;
  194.                p)  referral: an outcome which can be  returned  by  a  DSA  which  cannot
  195.                   perform an operation itself, and which identifies  one  or  more  other
  196.                   DSAs more able to perform the operation;
  197.                q)  request decomposition: decomposition of a request into subrequests each 
  198.                   accomplishing a part of the distributed operation;
  199.                r)  root context: the naming context for the vertex whose  name  comprises
  200.                   the empty sequence of RDNs;
  201.                s)  subordinate reference: a knowledge  reference  containing  information
  202.                   about the DSA that holds a specific subordinate entry;
  203.                t)  subrequest: a request generated by request decomposition;
  204.                u)  superior reference: a knowledge reference containing information about
  205.                   the DSA that holds a superior entry.
  206.          4      Abbreviations
  207.  
  208.  
  209.  
  210.  
  211.  
  212.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  213.  
  214.                The following abbreviations are used in this Recommendation:
  215.                DIB         Directory Information Base
  216.                DIT         Directory Information Tree
  217.                DSA     Directory System Agent
  218.                DUA     Directory User Agent
  219.                RDN     Relative Distinguished Name
  220.          5      Notation
  221.                The notation used in this paragraph is defined as follows:
  222.                a)  the data syntax notation, encoding and macro notation are  defined  in
  223.                   Recommendation X.208;
  224.                b)  the notations for abstract models and abstract services are defined in
  225.                   Recommendation X.407.
  226.          SECTION 2 - Overview
  227.          6      Overview
  228.                The Directory Abstract Service  allows  the  interrogation,  retrieval  and
  229.          modification of Directory information in the DIB. This service  is  described  in
  230.          terms of the abstract Directory object as specified in Recommendation X.511.
  231.                Necessarily, the specification of the abstract Directory  object  does  not
  232.          in any way address the physical realization of the Directory,  in  particular  it
  233.          does not address the specification of Directory System Agents (DSA) within  which
  234.          the DIB is stored and  managed,  and  through  which  the  service  is  provided.
  235.          Furthermore, it does not consider whether the DIB is centralized, i.e.  contained
  236.          within a single DSA, or distributed over a  number  of  DSAs.  Consequently,  the
  237.          requirements for DSAs to have knowledge of, navigate to, and cooperate with other
  238.          DSAs, in order to support the abstract service in a distributed  environment,  is
  239.          also not covered by the service description.
  240.                This Recommendation specifies the  refinement  of  the  abstract  Directory
  241.          object, the refinement being expressed in terms of a  set  of  one  or  more  DSA
  242.          objects which collectively constitute the distributed directory service. Inherent
  243.          in this is the identification  and  specification  of  the  DSA  ports  that  are
  244.          internal to the  Directory  object.  For  each  such  port,  this  Recommendation
  245.          specifies the associated abstract services and its procedures.
  246.                In addition, this Recommendation specifies the permissible  ways  in  which
  247.          the DIB may be distributed over one or more DSAs. For the limiting case where the
  248.          DIB is contained within a single DSA, the Directory is in fact  centralized;  for
  249.          the case where the DIB is distributed  over  two  or  more  DSAs,  knowledge  and
  250.          navigation mechanisms are specified which ensure that the whole  of  the  DIB  is
  251.          potentially accessible from all DSAs that hold constituent entries.
  252.                Additionally, request  handling  interactions  are  specified  that  enable
  253.          particular operational characteristics of the Directory to be controlled  by  its
  254.          users. In particular, the user has control over whether a DSA,  responding  to  a
  255.          directory enquiry pertaining to information held in other DSA(s), has the  option
  256.          of interrogating the other DSA(s) directly (chaining/multicasting) or, whether it
  257.          should respond with information about other DSA(s) which could  further  progress
  258.          the enquiry (referral).
  259.                Generally, the decision by a DSA to chain/multicast or refer is  determined
  260.          by the service controls set by the user, and by  the  DSA's  own  administrative,
  261.          operational, or technical circumstances.
  262.                Recognizing that, in general,  the  Directory  will  be  distributed,  that
  263.          directory enquiries will be satisfied by an arbitrary number of cooperating  DSAs
  264.          which may arbitrarily chain/multicast or refer according to the  above  criteria,
  265.          this Recommendation specifies the appropriate procedures to be effected  by  DSAs
  266.          in responding to distributed directory enquiries. These  procedures  will  ensure
  267.          that users of the distributed Directory service percei e  it  to  be  both  user-
  268.          friendly and consistent.
  269.          SECTION 3 - Distributed directory models
  270.          7      Distributed directory system model
  271.                The Directory abstract service as defined in  Recommendation  X.511  models
  272.          the directory as an object which provides a set  of  directory  services  to  its
  273.          users. The services of the directory are modelled in terms of ports,  where  each
  274.          port provides a particular set of directory  services.  Users  of  the  directory
  275.          access its services through an access point. The directory may have one  or  more
  276.          access points and each access point is characterized by the services it  provides
  277.          and the mode of interaction used to provide these services.
  278.                This paragraph addresses the internal structure of  the  directory  object,
  279.  
  280.  
  281.  
  282.  
  283.          PAGE12  Fascicle VIII.8 - Rec. X.518
  284.  
  285.          identifying its constituent objects and their ports, and thereby facilitates  the
  286.          specification of a distributed directory service.
  287.                Figure 1/X.518 illustrates the distributed directory which will be used  as
  288.          the basis for specifying the distributed aspects of the directory. It illustrates
  289.          the directory object as comprising a set of one or more DSA-objects.
  290.                                         FIGURE 1/X.518 - T0706790-89
  291.  
  292.                DSA objects are specified in detail  in  the  subsequent  clauses  of  this
  293.          Recommendation. This clause merely states a number of  their  characteristics  in
  294.          order to serve as an introduction and to establish the relationship between  this
  295.          Recommendation and other Recommendations.
  296.                DSA objects are defined in order  that  distribution  of  the  DIB  can  be
  297.          accommodated and that a number of physically distributed DSAs can interact  in  a
  298.          prescribed, cooperative manner to provide directory services to the users of  the
  299.          directory (DUAs).
  300.                DSA  objects,  like  the  Directory  object,  are  characterized  by  their
  301.          externally visible ports. The ports associated  with  a  DSA-object  are  of  two
  302.          types: service-ports and chained-service-ports.
  303.                The service-ports of a DSA object are identical to those of  the  Directory
  304.          object, namely, read, search and modify.  Figure  1/X.518  illustrates  that  the
  305.          service-ports associated with a DSA object  constitute  an  access-point  through
  306.          which directory services are made available.
  307.                The detailed specification of the read, search,  and  modify  service-ports
  308.          of  the  DSA  object  can  be  found  in  Recommendation  X.511.  (The   protocol
  309.          specification for the corresponding OSI application service elements, as  derived
  310.          from these port definitions, can be found in Recommendation X.519.)
  311.                In addition to the  service-ports  of  the  DSA  object  which  accommodate
  312.          access to the Directory object, a second set of ports are define ,  the  chained-
  313.          service-ports. These permit inter-DSA communication in order that  the  Directory
  314.          abstract service can be realized in a distributed environment.
  315.                The chained-service-ports and the operations provided through them  are  in
  316.          direct  correspondence  to  the   similarly   named   service-ports,   and   are,
  317.          respectively, chainedRead, chainedSearch, and chainedModify.
  318.                The process of specifying  the  constituent  objects  of  a  more  abstract
  319.          object is termed  "refinement".  The  specification  of  the  refinement  of  the
  320.          Directory object into its component parts (the DSAs), and  the  specification  of
  321.          the abstract service provided by each of  them  (the  DSA  Abstract  Service)  is
  322.          contained in Section Four of this Recommendation. The protocol  specification  of
  323.          the corresponding OSI application service elements, as derived from  the  chained
  324.          port definitions, can be found in Recommendation X.519.
  325.          8      DSA interactions model
  326.                A basic characteristic of the Directory is that, given a  distributed  DIB,
  327.          a user should potentially be able to have any service request satisfied  (subject
  328.          to security, access control  and  administrator  policies)  irrespective  of  the
  329.          access point at which the request originates. In accommodating  this  requirement
  330.          it is necessary that any DSA involved in satisfying a particular service  request
  331.          have some knowledge (as specified in  10 of this  Recommendation)  of  where  the
  332.          requested information  is  located  and  either  return  this  knowledge  to  the
  333.          requestor or attempt to have the request satisfied on its behalf. (The  requestor
  334.          may either be a DUA or another DSA: in the latter case  both  DSAs  must  have  a
  335.          chained port.)
  336.                Three modes of DSA interaction are  defined  to  meet  these  requirements,
  337.          namely "chaining", "multicasting", and "referral".  "Chaining" and "multicasting"
  338.          are defined to meet the latter of the above requirements whilst referrals address
  339.          the former.
  340.          8.1    Chaining
  341.                This mode of interaction (depicted in Figure 2/X.518) may be  used  by  one
  342.          DSA, to pass on a request to another DSA when  the  former  has  knowledge  about
  343.          naming contexts held by the latter. Chaining may be used to contact a single  DSA
  344.          pointed to  in  a  cross  reference,  a  subordinate  reference,  or  a  superior
  345.          reference. Multicasting is a form of chaining, described in  8.2.
  346.                                         FIGURE 2/X.518 - T0704500-88
  347.  
  348.                Note - In Figure 2/X.518, the order  of  interactions  is  defined  by  the
  349.          numbers associated with the interaction lines.
  350.  
  351.  
  352.  
  353.  
  354.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  355.  
  356.          8.2    Multicasting
  357.                This mode of interaction (depicted in Figures 3a/X.518  and  3b/X.518)  may
  358.          be used by a DSA, to chain an identical request in parallel (a) or sequential (b)
  359.          to one or more DSAs, when the former does not know the complete  naming  contexts
  360.          held by the other DSAs. Multicasting is only used by a DSA to contact other  DSAs
  361.          pointed to in a non-specific subordinate reference. Each of the  DSAs  is  passed
  362.          the identical request. Normally, during name resolution, only  one  of  the  DSAs
  363.          will be able to continue processing the  remote  operation,  all  of  the  others
  364.          returning the unableToProceed ServiceError. However, during the evaluation  phase
  365.          of search and list operations, all DSAs in a non- specific subordinate  reference
  366.          should be able to continue processing the request.
  367.                Note - In Figures 3a/X.518 and  3b/X.518,  the  order  of  interactions  is
  368.          defined by the numbers associated with the interaction lines.
  369.                                         FIGURE 3a/X.518 - T0704510-88
  370.  
  371.                                         FIGURE 3b/X.518 - T0704520-88
  372.  
  373.          8.3    Referral
  374.                A referral (depicted in Figures 4a/X.518 and 4b/X.518)  is  returned  by  a
  375.          DSA in its response to a request which it had been requested to  perform,  either
  376.          by a DUA, or by another DSA (in which case both DSAs must have a  chained-service
  377.          port). The referral may constitute the  whole  response  (in  which  case  it  is
  378.          categorized as an error)  or just part of the response. The referral  contains  a
  379.          knowledge reference, which may be either a superior, subordinate, cro s  or  non-
  380.          specific subordinate reference.
  381.                The DSA (Figure 4a/X.518) receiving the  referral  may  use  the  knowledge
  382.          reference contained therein, to subsequently chain or multicast  (depending  upon
  383.          the type of reference) the original operation to other DSAs. Alternatively, a DSA
  384.          receiving a referral, may in turn pass the referral back in its response.  A  DUA
  385.          (Figure 4b/X.518) receiving a referral may use it to contact one  or  more  other
  386.          DSAs to progress the request.
  387.                                         FIGURE 4a/X.518 - T0704530-89
  388.  
  389.                                         FIGURE 4b/X.518 - T0704540-89
  390.  
  391.                Note - In Figures 4a/X.518 and  4b/X.518,  the  order  of  interactions  is
  392.          defined by the numbers associated with the interaction lines.
  393.          8.4    Mode determination
  394.                If a DSA cannot itself fully resolve a  request,  it  must  chain/multicast
  395.          the request (or a request formed by decomposing the  original  one),  to  another
  396.          DSA, unless:
  397.                a)  chaining is prohibited by the user via the service controls, in  which
  398.                   case the DSA must return a referral or a chainingRequired  ServiceError
  399.                   (at its choice), or
  400.                b)  the DSA has administrative,  operational,  or  technical  reasons  for
  401.                   preferring not to chain, in which case the DSA must return a referral.
  402.                Note 1 - A "technical reason" for not  chaining/multicasting  is  that  the
  403.          DSA identified in the knowledge reference has no chained service ports.
  404.                Note 2 - If the localScope service control is set, then the  DSA  (or  DMD)
  405.          must either resolve the request or return an error.
  406.                Note  3  -  If  the  user  prefers   referrals,   the   user   should   set
  407.          chainingProhibited.
  408.          9      Directory distribution
  409.                This paragraph defines the principles according to which  the  DIB  can  be
  410.          distributed. 
  411.                Each entry within the DIB is administered  by  one,  and  only  one,  DSA's
  412.          Administrator who is said  to  have  administrative  authority  for  that  entry.
  413.          Maintenance and management of an entry must take place in a DSA  administered  by
  414.          the administrative authority for the entry.
  415.                Although the Directory does not provide any support for the replication  of
  416.          entries, it is nevertheless possible to realize replication in two ways:
  417.                -   Copies of an entry may be stored in  other  DSA(s)  through  bilateral
  418.                   agreement.  The means by which these copies are maintained and  managed
  419.                   is a function of the bilateral agreement and is  not  defined  in  this
  420.                   Recommendation.
  421.  
  422.  
  423.  
  424.  
  425.          PAGE12  Fascicle VIII.8 - Rec. X.518
  426.  
  427.                -   Copies of an entry may be acquired by storing (locally and dynamically) 
  428.                   a copy of an entry which results from a request.
  429.                Note - The acquisition of cache entries is subject to access control.
  430.                The originator of the request is informed  (via  fromCopy)  as  to  whether
  431.          information returned in response to a request is from a replicated entry or  not.
  432.          A service control, dontUseCopy, is defined which allows the user to prohibit  the
  433.          use of replicated entries.
  434.                Each DSA within the  Directory  holds  a  fragment  of  the  DIB.  The  DIB
  435.          fragment held by a DSA is described in terms of the DIT and comprises one or more
  436.          naming contexts. A naming context is a partial subtree  of  the  DIT  defined  as
  437.          starting at a vertex and extending downwards to leaf  and/or  non-leaf  vertices.
  438.          Such vertices constitute the border of the naming context.  Subordinates  of  the
  439.          non-leaf vertices belonging to the border denote  the  start  of  further  naming
  440.          contexts.
  441.                It is possible for a DSA's administrator to have  administrative  authority
  442.          for several disjoint naming contexts. For every naming context for  which  a  DSA
  443.          has administrative authority, it must logically hold the sequence of  RDNs  which
  444.          lead from the root of the DIT to the initial vertex of the subtree comprising the
  445.          naming context. This sequence of RDNs is called the context prefix.
  446.                A  DSA's  administrator  may  delegate  administrative  authority  for  any
  447.          immediate subordinates of any entry held locally  to  another  DSA.  A  DSA  that
  448.          delegated authority is called a superior DSA  and  the  context  that  holds  the
  449.          superior entry of one for which the administrative authority  was  delegated,  is
  450.          called the superior naming context. Delegation of administrative authority begins
  451.          with the root and proceeds downwards in the DIT; that is, it can only occur  from
  452.          an entry to its subordinates.
  453.                Figure 5/X.518 illustrates a hypothetical DIT  logically  partitioned  into
  454.          five naming contexts (named A, B, C, D and E), which are  physically  distributed
  455.          over three DSAs (DSA1, DSA2, and DSA3).
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  497.  
  498.                From the  example  it  can  be  seen  that  the  naming  contexts  held  by
  499.          particular DSAs may be configured so as to  meet  a  wide  range  of  operational
  500.          requirements. Certain DSAs may be configured to hold those entries that represent
  501.          higher level  naming  domains  within  some  logical  part(s)  of  the  DIB,  the
  502.          organizational structure of a large company say,  but  not  necessarily  all  the
  503.          subordinate entries. Alternatively, DSAs may be configured  to  hold  only  those
  504.          naming contexts representing primarily leaf entries.
  505.                From the above definitions, the limiting case for a naming context  can  be
  506.          either a single entry or the whole of the DIT.
  507.                Whilst the logical to physical mapping of the DIT onto DSAs is  potentially
  508.          arbitrary, the task of information location and management is simplified  if  the
  509.          DSAs are configured to hold a small number of naming contexts.
  510.                In order for a DUA  to  begin  processing  a  request  it  must  hold  some
  511.          information, specifically the presentation address, about at least one  DSA  that
  512.          it can contact initially. How it acquires and holds this information is  a  local
  513.          matter.
  514.                During the process of modification of  entries  it  is  possible  that  the
  515.          directory  may  become  inconsistent.  This  will  be  particularly   likely   if
  516.          modification involves aliases or aliased objects which may be in different  DSAs.
  517.          The inconsistency must be corrected by specific administrator action, for example
  518.          to delete aliases if the corresponding aliased objects  have  been  deleted.  The
  519.          Directory continues to operate during this period of inconsistency.
  520.                                         FIGURE 5/X.518  - T0704550-88
  521.  
  522.                Note - The Root is not held by any DSA, however some indication must  exist
  523.          at the local level to distinguish those vertices (e.g. C = VV, C = WW) which  are
  524.          immediate subordinates of the Root.
  525.          10     Knowledge
  526.                The DIB is potentially distributed  across  multiple  DSAs  with  each  DSA
  527.          holding a DIB fragment; the principles that govern distribution of  the  DIB  are
  528.          specified in  9 of this Recommendation.
  529.                It is a requirement of the Directory that, for  particular  modes  of  user
  530.          interaction, the distribution of the directory be rendered  transparent,  thereby
  531.          giving the effect that the whole of the DIB appears to be within each  and  every
  532.          DSA.
  533.                In order to support the operational requirements  described  above,  it  is
  534.          necessary that each DSA holding a fragment of the DIB be  able  to  identify  and
  535.          optionally interact with other fragments of the DIB held by other DSAs.
  536.                This paragraph defines knowledge as the basis for the mapping of a name  to
  537.          its location within a fragment of the DIT.
  538.                Conceptually DSAs hold two types of information:
  539.                a)  Directory Information;
  540.                b)  Knowledge Information.
  541.                Directory Information is the collection of entries  comprising  the  Naming
  542.          Context(s) for which the Administrator of a  particular  DSA  has  Administrative
  543.          Authority.
  544.                Knowledge Information embodies the Naming Context(s) held by  a  particular
  545.          DSA and denotes how these fit into the overall DIT  hierarchy.  Name  Resolution,
  546.          the process of  locating  the  DSA  which  has  Administrative  Authority  for  a
  547.          particular entry given that entry's name, is based on knowledge information.
  548.                A Context Prefix is the sequence of RDNs leading from the Root of  the  DIT
  549.          to the initial vertex of a naming context and corresponds  to  the  distinguished
  550.          name of that vertex.
  551.                A Naming Context comprises a  collection  of  knowledge  references  and  a
  552.          Context Prefix. A Naming Context must contain  exactly  the  following  knowledge
  553.          references:
  554.                -   All the internal references which define the internal structure of the
  555.                   portion of the DIT included in the Naming Context.
  556.                -   All the subordinate and non-specific subordinate references  to  other
  557.                   Naming Contexts.
  558.          10.1   Minimal knowledge references
  559.                It is a  property  of  the  Directory  that  each  entry  can  be  accessed
  560.          independently of where a request is generated.
  561.                To accomplish  this,  each  DSA  shall  at  least  maintain  the  following
  562.          knowledge references:
  563.  
  564.  
  565.  
  566.  
  567.          PAGE12  Fascicle VIII.8 - Rec. X.518
  568.  
  569.                -   subordinate references  as  defined  in   10.3.2  and/or  non-specific
  570.                   subordinate references as defined in 10.3.5; and
  571.                -   superior references as defined in  10.3.3.
  572.                It is then  possible  to  establish  a  reference  path,  as  a  continuous
  573.          sequence of knowledge references, to all naming contexts within the Directory.
  574.                Optionally, cross references, as defined in  10.3.4  may  form  part  of  a
  575.          reference path to optimize performance.
  576.          10.2   Root context
  577.                Because  of  the  autonomy   of   the   different   countries   or   global
  578.          organizations, there is likely to  be  no  "single"  DSA  which  holds  the  root
  579.          context. The functionality of a "root-DSA" concerning the name resolution process
  580.          has to be provided by those DSAs which have administrative authority  for  naming
  581.          contexts that are immediately subordinate to the  root.  These  DSAs  are  called
  582.          First Level DSAs. Each First Level DSA must be able to simulate the functionality
  583.          of the "root-DSA". This requires full knowledge about the  root  naming  context.
  584.          The root context is replicated onto each First Level DSA and therefore has to  be
  585.          administered commonly by the autonomous first level  administrative  authorities.
  586.          Administration procedures  have  to  be  determined  by  multilateral  agreements
  587.          outside the scope of this Recommendation.
  588.                -   Each first level DSA shall hold the  root  context,  which  implies  a
  589.                   reference path to each other first level DSA.
  590.                -   Each non-first level DSA shall have a superior reference, which implies 
  591.                   a reference path to any arbitrary first level DSA.
  592.          10.3   Knowledge references
  593.                The knowledge possessed by a DSA is defined in terms of a  set  of  one  or
  594.          more knowledge references where each reference  associates,  either  directly  or
  595.          indirectly, entries of the DIB with DSAs which hold those entries.
  596.                To be able to fulfill the requirements to reach every DIB  entry  from  any
  597.          DSA, every DSA is required to have knowledge about the entries  which  it  itself
  598.          holds, and about subordinates and possibly superiors thereof. This gives rise  to
  599.          the following types of knowledge references:
  600.                -   Internal references
  601.                -   Subordinate references
  602.                -   Superior references
  603.                -   Non-specific subordinate references.
  604.                Additionally, for optimization purposes the  following  type  of  optional
  605.                   reference is defined:
  606.                -   Cross references
  607.                In the event that  the  set  of  knowledge  references  associated  with  a
  608.          particular DSA contain only internal references, the  DSA  has  no  knowledge  of
  609.          other DSAs and the DIB is therefore centralized.
  610.          10.3.1 Internal references
  611.                An internal reference consists of:
  612.                -   the RDN corresponding to a DIB entry;
  613.                -   an internal pointer to where the entry is stored in the local DIB. (The 
  614.                   specification  of  this  pointer  is  outside   the   scope   of   this
  615.                   Recommendation.)
  616.                All entries for which a particular DSA  has  Administrative  Authority  are
  617.          represented by internal references in the knowledge information of that DSA.
  618.          10.3.2 Subordinate references
  619.                A subordinate reference consists of:
  620.                -   an RDN corresponding to an immediate subordinate DIB entry;
  621.                -   the Access Point of the DSA to which Administrative Authority for that
  622.                   entry was delegated.
  623.                All subordinate  entries  held  by  another  DSA  to  which  this  DSA  has
  624.          delegated Administrative Authority, must be represented by subordinate references
  625.          (or non-specific subordinate references as described in  10.3.5).
  626.          10.3.3 Superior references
  627.                A superior reference consists of:
  628.                -   the Access Point of a DSA.
  629.                Each non-first level DSA maintains precisely one  superior  reference.  The
  630.          superior reference shall form part of a reference path to the root.  Unless  some
  631.          method outside of the standard is employed to ensure this, for example  within  a
  632.          DMD, this shall be accomplished by referring  to  a  DSA  which  holds  a  naming
  633.          context whose context prefix has less RDNs than the context  prefix  with  fewest
  634.  
  635.  
  636.  
  637.  
  638.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  639.  
  640.          RDNs held by this DSA.
  641.                If a new non-first level DSA is introduced, it must have a minimal  initial
  642.          knowledge, which is represented by the superior reference. Any further  knowledge
  643.          will be added by subordinate references or  cross  references  (as  described  in
  644.           10.3.4). If a new first level DSA  is  introduced,  it  must  acquire  the  root
  645.          context and advise all other first  level  DSAs.  How  this  is  accomplished  is
  646.          outside the scope of this Recommendation.
  647.          10.3.4 Cross reference
  648.                A cross reference consists of:
  649.                -   a Context Prefix;
  650.                -   the Access Point of a DSA which has Administrative Authority for  that
  651.                   Naming Context.
  652.                This type of reference is optional and serves to optimize Name  Resolution.
  653.          A DSA may hold any number (including zero) of cross references.
  654.          10.3.5 Non-specific subordinate references
  655.                A non-specific subordinate reference consists of:
  656.                -   The Access Point  of  a  DSA  which  holds  one  or  more  immediately
  657.                   subordinate Naming Contexts.
  658.                This type of reference is optional, to allow for the case in  which  a  DSA
  659.          is known to contain some subordinate entries  but  the  specific  RDNs  of  those
  660.          entries is not known.
  661.                For each naming  context  which  it  holds,  a  DSA  may  hold  any  number
  662.          (including zero) of non- specific subordinate references, which will be evaluated
  663.          if all specific internal and  subordinate  references  have  been  pursued.  DSAs
  664.          accessed via a non-specific  reference  must  be  able  to  resolve  the  request
  665.          directly (either success or failure). In the  event  of  failure  a  ServiceError
  666.          reporting a problem of unableToProceed is returned to the requestor.
  667.          10.4   Knowledge administration
  668.                To operate a widely distributed Directory  with  an  acceptable  degree  of
  669.          consistency and performance, procedures are required to maintain and  extend  the
  670.          knowledge held by each DSA. The same  procedures  are  appropriate  for  creating
  671.          initial knowledge.
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.          PAGE12  Fascicle VIII.8 - Rec. X.518
  710.  
  711.                Knowledge can be maintained by:
  712.                a)  The  DSA  or  its  administrative  authority  propagating  changes  of
  713.                   knowledge to those DSAs holding all kinds of references to it, whenever
  714.                   changes at that DSA cause the references to become invalid. This is the
  715.                   only way superior, subordinate and non-specific subordinate  references
  716.                   can be maintained.
  717.                b)   DSAs  requesting  and  obtaining  cross  references  to  improve  the
  718.                   performance through ordinary directory operations.
  719.                This  Recommendation  does  not  define  any  procedures  for   propagating
  720.          knowledge changes as described in a). Bilateral agreements  must  be  established
  721.          locally for this.
  722.          10.4.1 Requesting cross reference
  723.                To improve the performance of the Directory System, the local set of  cross
  724.          references can be expanded using ordinary Directory operations.  If a DSA  has  a
  725.          chained port it may request another DSA (which also must have a chained port)  to
  726.          return those knowledge references which contain information about the location of
  727.          naming contexts related to the  target  object  name  of  an  ordinary  Directory
  728.          operation.
  729.                If the returnCrossReference component of the  ChainingArgument  is  set  to
  730.          TRUE,  the  crossReference  component  of  the  ChainingResult  may  be  present,
  731.          consisting of a sequence of cross reference items.
  732.                If a DSA is not able to chain a request to  the  next  DSA  a  referral  is
  733.          returned to the originating DSA. If the  returnCrossReference  component  of  the
  734.          chaining argument was TRUE, the referral may  contain  additionally  the  context
  735.          prefix of the naming context which the  referral  refers  to.  The  contextPrefix
  736.          component is absent if the  referral  is  based  on  a  non-specific  subordinate
  737.          reference. The cross reference returned by a referral is only based on  knowledge
  738.          held by the DSA which generated the referral.
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                       Fascicle VIII.8 - Rec. X.518   PAGE1
  781.  
  782.